1. Field of the Invention
The present invention relates to a system and method for using destination-directed spreading codes for communication between nodes in a multi-channel wireless communications network, such as an ad-hoc wireless communications network. More particularly, the present invention relates to a system and method which enables nodes in an ad-hoc wireless communications network to select a spreading code for a transmission message based on the destination of that transmission message, along with other factors such as network prefix information, time of day, and provider information, to minimize destructive interference between the spread transmission messages transmitted by neighboring nodes in the network, especially in a densely populated region such as a metropolitan area.
2. Description of the Related Art
Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) is a well-known protocol specified in the IEEE802.11 standard for wireless local area networks (LANs) which enables wireless communications devices to communicate with each other. CSMA/CA involves an initial handshake of a Request-to-Send (RTS) message followed by a Clear-to-Send (CTS) message exchanged between a source node and a destination node prior to sending an information message (e.g., a message containing audio, multimedia or data information).
Specifically, the source node transmits an RTS message to the intended destination node. If the intended destination node wishes to receive the message and believes that the channel is available (i.e., free of other traffic), the destination node responds with a CTS message. The receipt of the CTS message by the source node permits the transmission of the information message (MSG) which is typically followed by an Acknowledgment (ACK) message from the destination node when reception of the information message is successful. All other nodes within range of the CTS message mark the channel as busy for the duration of the message transfer. Provided that all nodes receive every CTS message, the protocol works well.
An example of a network employing CSMA/CA techniques is described in U.S. Pat. No. 6,404,756, issued on Jun. 11, 2002, the entire contents of which is incorporated herein by reference. In this type of network, a plurality of nodes communicate with each other using plural, shared parallel data channels and a separate reservation channel. As used herein, the term node refers to a communication device operating in a network of communication devices. The node may be a mobile communication device, such as a radio or wireless telephone, or the node may be stationary or fixed in a particular location. Also, as used herein, the term channel refers to a communication path between nodes, and different channels can exist on separate communication media or on a common communication medium, with individual channels being separated by any suitable means, such as time, frequency, or encoding.
Increased throughput is achieved by transferring messages over the multiple parallel data channels. One channel is dedicated for use as the reservation channel, and channel access is allocated on the multiple data channels in a distributed fashion. Access to the data channels is coordinated among the nodes by communicating message requests and corresponding replies on the separate reservation channel.
As can be appreciated by one skilled in the art, the performance of multi-channel multi-hop ad-hoc wireless local area networks (LANs) are highly dependent on the amount of time required to make a reservation for a data channel. An improved channel access protocol for use by nodes having a single receiver configuration in an ad-hoc communications network employing multi-channel carrier-sense multiple access with extended collision avoidance (MC-CSMA/E-CA) is described U.S. Pat. No. 6,768,730 issued on Jul. 27, 2004, the entire contents of which being incorporated herein by reference. This protocol negotiates the channel, data rate, power level, and message length between a pair of ad-hoc nodes via the Request-To-Send/Clear-To-Send (RTS/CTS) protocol. Because the network contains data rate adaptation, the RTS/CTS may be sent out at the lowest data rate and the highest power level to maximize the coordination of the reservation channel. If the data rate for the message channel is high, the amount of time spent on the data channel can be comparable to the amount of time required for the reservation. Accordingly, it is especially important to minimize the number of bits required to accomplish a reservation. This requirement can be balanced against the requirements to reliably contact the destination address, to negotiate higher data rates that are especially important for large messages, and to use message length to declare the length of the reservation.
It should also be noted that in the type of multi-hop ad-hoc wireless network described in U.S. Pat. No. 6,768,730 referenced above, the transceivers of the nodes use spreading codes to spread the messages being transmitted to other nodes for reasons such as to reduce message receipt errors and improve the bit error rate (BER) ratio, to name a few. Other types of spreading techniques are set forth in U.S. Pat. No. 5,943,322 to Mayor, the entire content of which is incorporated herein by reference. As can be appreciated by one skilled in the art, the use of multiple spreading codes and multiple channels by neighboring nodes in a network thus provides for better geographic reuse of channels, reduces the hidden terminal problem, and reduces destructive interference caused by messages received by a node from other nodes outside of the reliable reception range.
For example, the modem of any node in the network described in U.S. Pat. No. 6,768,730 can use gold codes for direct sequence spreading. In one exemplary configuration, a total of 129 codes are available for use. In order for a destination node to properly be able to receive the spread transmitted message, the destination node must know the spreading code that was used by the transmitting node to spread the transmitted message. One approach for enabling a transmitting node to indicate to a destination node the particular spreading code that it has used to spread a transmission message is to provide this information in the RTS message. However, designation of the spreading code would require an additional 7 bits in the RTS message at an additional cost of 14 microseconds. Currently, in the network described in U.S. Pat. No. 6,768,730 referenced above, the RTS length is 61 bits and the information rate is 500 kbps for a total length of 122 microseconds. Adding these bits to designate code increases the length of the RTS by 11%. Additionally, these bits must be replicated within the CTS to inform nodes which can hear the destination node but not the source node. These other nodes are thus required to designate the code as “in use” to avoid a competing transmission.
An alternative to this approach would be to add the bits to designate the spreading code and increase the data rate to 750 kbps or 1 Mbps. Unfortunately, this reduces the range at which a node can successfully decode the RTS message. Reduction in range has severe consequences on the network, such as an increase in the amount of additional infrastructure needed for the network to service a congested region, such as a metropolitan area.
A technique in which the transmitting node in a distributed direct-sequence network selects a spreading code to spread the transmission signal based on the spreading code assigned to the destination node is generally described in a publication by Arvind R. Raghavan and Carl W. Baum entitled “An unslotted multichannel channel-access protocol for distributed direct-sequence networks”, Mobile Networks and Applications, Vol. 5 (2000), pp. 49–56, the entire contents of which being incorporated by reference herein. However, the suitability of this technique for use in ad-hoc networks servicing densely populated regions, such as metropolitan areas, has not been addressed. Also, this technique has not been applied to more sophisticated ad-hoc networks employing access points which provide access to other networks such as the PSTN, other ad-hoc networks, or the Internet, to name a few.
Accordingly, a need exists for a system and method that enables a node in an ad-hoc communications network to use a particular spreading code to spread a message to be transmitted to a destination node without having to provide information on the spreading code to the destination node in, for example, an RTS message, to thus improve the overall efficiency of the network.